﻿using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using transferObjects;
using System.Data.SqlClient;
using System.Collections.Generic;
using dao.sqlServer2005;
using System.IO;
using dao;
using controls;

/// <summary>
/// Descripción breve de PrestadorServicioService
/// </summary>
namespace services
{
    public class TrabajadorService
    {
        //envia los datos al DB para agregar la empresa
        public int agregarTrabajador(Trabajador trabajador)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();

            //instancia para hacer transacciones a la bd
            TrabajadorDB trabajadorDB = new TrabajadorDB(conn);
            int res = trabajadorDB.agregarTrabajador(trabajador);


            conn.Close();
            return res;
        }

        //obtenerTodasEmpresas
        public Trabajador[] obtenerTodosTrabajadores()
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();

            TrabajadorDB trabajadorDB = new TrabajadorDB(conn);
            List<Trabajador> resp = trabajadorDB.obtenerTodosTrabajadores();
            conn.Close();
            return resp.ToArray();
        }

        //obtener un trabajador
        public Trabajador obtenerTrabajador(String trabajadorID)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();
            TrabajadorDB trabajadorDB = new TrabajadorDB(conn);
            Trabajador trabajador = trabajadorDB.obtenerTrabajador(trabajadorID);
            conn.Close();
            return trabajador;
        }

        //modificar trabajador
        public int modificarTrabajador(Trabajador trabajador)
        {
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();
            //instancia para hacer transacciones a la base de datos
            TrabajadorDB trabajadorDB = new TrabajadorDB(conn);
            int res = trabajadorDB.modificarTrabajador(trabajador);
            conn.Close();
            return res;
        }

        //Cargar Trabajadores
        public int cargarTrabajadores(String archivo)
        {
            List<Trabajador> trabajadores = new List<Trabajador>();
            int res = 0;
            SqlConnection conn = ConnectionManager.getSqlConnection();
            conn.Open();

            //procesar el archivo con los trabajadores
            LeerExcel leerExcel = new LeerExcel();


            trabajadores  = leerExcel.Procesar();  
            

            for(int i = 0; i<trabajadores.Count ; i++ )
            {
                res = agregarTrabajador(trabajadores[i]);
            }

            conn.Close();
            return res;

        }

    }
}
